About MemMAX

MemMAX is an easy to use freeware Memory Monitor / Optimizer for Windows9x, WindowsME, WindowsNT and Windows2000.

Features:

Memory Statistics (Physical, Virtual and Total)

Memory Optimization

VCache Settings (Win9x & ME only)

Command Line Mode

Contents


Why I created MemMAX

MemMAX began as a simple memory-monitoring program that I wrote for use as a private tool in other programming projects.

I used a lot of memory hungry applications and had only 64 Mb of physical memory in my machine at the time so I started looking for ways of maximizing the amount of memory available to these applications. One of the solutions I found was to use the memory optimizers available at the time to force windows to release more memory. The main problem I found with these optimizers though was that they would seldom free as much memory as they claimed to, I often had to repeat the optimization several times before the desired level was finally reached. This led to the idea of creating my own optimizer and after a bit of research I started developing MemMAX on the basis of my existing memory monitoring application which, by the way, I think is still around somewhere on my harddrive.

Contents


MemMax Copyright
Copyright © 2000, 2001 Thomas Bladh

MemMAX is currently Freeware.

My definition of the term freeware is as follows: You are free to use MemMAX, and to distribute unaltered copies of MemMAX. If you distribute MemMAX you may charge a small fee covering the cost of distribution, media and compilation, you may not however sell MemMAX for profit or distrubute MemMAX in any profit context without my consent.

DISCLAIMER:

I do my utmost to ensure that the application functions properly but I cannot offer any guarantees as to its functionality or reliability. I shall not be held responsible for any damage to your computer or anything else caused by the use or misuse of this application. This application is after all freeware and I don’t make any money from it.

Contents


Statistics Tab

The statistics tab contains information about your systems physical memory, pagefile and total memory. The physical memory is the RAM (EDO, SDRAM etc.) installed in your system. If your system is “untweaked” then the page-file size is most likely set to the amount of free space on the drive your page file is located. The total memory is simply the two types of memory combined (Physical Memory and Pagefile).

NOTE: This might seem obvious to the computer savvy user but I have received a number of e-mails asking me if it’s better if the gauges are in the green (high precentage) or the red (low percentage) zone. The answer is that if the gauges are in the red you have very little memory left and you might want to optimize. If however they are in the green then you have a relatively large amount of memory left and there is less reason to do so.

Contents


Optimization

To optimize your physical memory you can either let MemMAX free as much of it as possible (by checking the “Max” checkbox) or chose a specific amount of memory for MemMAX to free up. Note that selecting 100% is not the same as performing a “Max” optimization, MemMAX uses a different optimization approach when the “Max” checkbox is checked.

You can also specify how many times MemMAX should try to free the specified amount of memory if unsuccessful. The allowed values for this option are 1-9 and the setting is changed by clicking on the blue number with either the left mouse button (for an increase) or the right (for a decrease).

A new feature for this version of MemMAX is the force slider (don’t confuse this with the old forced optimization alternative which has been replaced by the ability to retry the optimization up to 9 times). In the old version this was always set to 100% which caused some problems on systems with large amounts of memory (192MB+). Now you can set it from 0% up to 100% where 0% is the gentlest and subsequently slowest approach and 100% is the toughest. My recomendation is that you lower the force percentage if you experience problems with the optimization.

If I for instance was about to start a large game or application I would first run MemMAX with the “Max” checkbox checked, minimize MemMAX and then launch the application itself. By doing this I ensure that the application gets as much system memory as possible. An alternative approach is to use the command line feature by writing a small batch (*.BAT) file to run a command line optimimization before executing the selected application.

NOTE: As always: “your mileage may vary”. :)

It may also be wise to consider enabling “Clear Clipboard on Optimization” in the settings menu (Settings | Clear Clipboard on Optimization) to allow MemMAX to always clear your clipboard before an optimization. If you use a high desktop resolution or run windows on two monitors like I do, a seemingly harmles screen capture through the Print Screen button can set you back several megabytes (about 10 in my case).

NOTE:

You will probably notice a great deal of disk activity during and after an optimization. Programs left in the background during the optimization will be totally or partially swapped to disk and might seem unresponsive to a degree depending on the type of optimization used. On some rare occasions windows seems to tie itself in a knot when reallocating programs pushed aside by MemMAX, this is probably an issue with Windows itself rather than with MemMAX. Pressing ESC in this situation should end the operation.

Contents


VCache Tab
VCache Tab (not available on WinNT or Win2000 systems)

The VCache (virtual cache), a dynamically sized disk-cache, was introduced with the Windows95 operating system. It speeds up hard-disc access by storing commonly requested information in physical memory. You might have noticed that an application often loads considerably faster the second time you run it (in the same session). This is due to the fact that most of the data needed is already in main memory. This was meant to be, and is a good thing. The only problem is that there is no default upper limit on how much this cache may grow and that Windows is often reluctant to let go of the allocated memory. This is where MemMAX comes in, by, among other things, giving you the opportunity to limit the size the virtual cache is allowed to grow to.

The three settings you can control with MemMAX are MinFileCache, MaxFileCache and ChunkSize and they are read and written to the [vcache] section in the system.ini file in the Windows directory.

Which are the optimal settings? There are a great many different opinions on this and the answer is probably that you will have to try it out yourself too see what values suit you best. A good value for MaxFileCache would be about 10-20% of your physical (RAM) memory size. The value you set MinFileCache to will be the least amount of memory used by the VCache and this memory will thus be unavailable to any applications that might need it. The ChunkSize is the size of the units of memory that the VCache is divided into, much like the different cluster sizes of file systems. A small chunksize will result in a more effective usage of the space and each set of related data will use just as much space as it needs (almost). The downside is that the overhead of handling a great number of small reads / writes will rise as the chunk size drops. A large chunk size, on the other hand, will result in less efficient usage of memory but will be faster (in theory at least). Good values for chunk size would be between 256 and 2048 bytes.

If you want to disable a setting you simply drag the corresponding trackbar slider all the way to the left or enter 0 in the edit box to the right of the trackbar. You can remove the whole VCache section from your system.ini file by disabling all settings.

You will have to reboot for any of the changes to take effect. Pressing the “Apply” button will produce a dialog box where you can choose if you would like to “Reboot Now”, “Later” or if you would like to Cancel the whole operation. Pressing the “Discard Changes” button will result in settings reverting to those at MemMAX’s startup. You cannot discard changes if they have already been applied.

Contents


File | System Shutdown

Select this to shut your system down. AT systems will have to be manually switched off but ATX systems should power-off automatically.

Contents


File | System Reboot

Select this to reboot your system.

Contents


File | Exit

Select this to exit MemMAX.

Contents


Edit | Copy Stats to Clipboard

Select this to put a textual copy of your memory stats on the clipboard.

Contents


Edit | Clear Clipboard
File | Clear Clipboard

Select this to clear the clipboard from any data it might contain.

Contents


Action | Optimize

Start the optimization process with settings as specified in the “Free Up” section.

Contents


Action | Optimize and Exit

Start the optimization process with settings as specified in the “Free Up” section and then exit MemMAX.

Contents


Settings | Always on Top

Select this to toggle if the main window of MemMAX should float on top of other windows (except those also marked as “always on top”).

Contents


Settings | Unit of Measure

Select if memory data should be displayed in Kilobytes (2^10 bytes) or Megabytes (2^20 bytes).

Contents


Settings | Refresh rate

Select the desired data refresh rate.

Contents


Command Line Parameters

The command line mode support was included so that MemMAX could be used to optimize memory without going through the standard user interface. The only visible sign that MemMAX is actually executing is a discrete progressbar located in the middle of the screen.

Syntax:

“memmax /m”  for maximum optimization, or

“memmax /p n /f n /t n” for normal optimization.

where:

/m = Maximum: Perform maximum optimization (must be the only switch if it’s used).

/p = Percentage: The percentage (0-100%) of physical memory to try to free.

/f = Force: The amount of force (0-100%) to use.

/t = Tries: The number of times the optimization should be repeated if unsuccessful.

n = 0-100 for /f and /p, 1-9 for /t.

Examples:

Perform maximum optimization:

memmax /m

Same as above:

memmax.exe /M

Try to free 90% with 90% force and a maximum of 3 tries:

memmax /p 90 /f 90 /t 3

Try to free 100% with 100% force in one try.

memmax.exe /p 100 /f 100 /t 1

These won’t work:

memmax /m /p 100

Because: The /m switch must be used alone.

memmax /p 100 /f 100

Because: The /p, /f and /t switches must all be used together in the exact order described in the syntax section. You cannot leave any out if you wan’t it to work.

memmax /f 100 /p 100 /t 2

Because: The switches are out of order (see above).

memmax /f100 /p100/t2

Because: The switches must be separated from each other and their corresponding values.

Contents


History Tab

This tab contains the memory usage history for a period of about 1-minute up to 18 minutes depending on the refresh rate. The currently available graphs are for free physical memory (RAM) and free page file space (virtual memory).

Contents


Visual | Use Color Gradient for Gauges

Toggles the color gradient for gauges on the memory statistics tab.

Contents


Settings | Show History

Enables or disables the history tab.

Contents


Settings | Minimize to Tray

Toggles whether MemMAX should minimize to both the System Tray and the Taskbar or to the System Tray only.

Contents


Settings | Clear Clipboard on Optimization

Toggles whether MemMAX should clear the clipboard before optimizing.

Contents


Visual | Progressbar

Submenu for setting and resetting the progressbar color.

Contents


Contents
MemMAX Help Contents

Introduction

About MemMAX

Why I created MemMAX

Credits

Copyright & Disclaimer

Using MemMAX

How to Optimize

About the Memory Statistics Tab

About the Statistics History Tab

About the VCache Tab

About the Command Line Mode

The Menu

File

System Shutdown

System Reboot

Exit

Edit

Copy Stats to Clipboard

Clear Clipboard

Action

Optimize

Optimize and Exit

Settings

Always on Top

Show History

Minimize to Tray only

Clear Clipboard on Optimization

Unit of Measure

Refresh rate

Visual

Progressbar

Use Color Gradient for Gauges


Credits

In this section I will list the components and tools used in the development of MemMAX. Credit where credit is due.

Thanks to:

Jordan Russel (http://www.jrsoftware.org) for his excellent installer program Inno Setup. If you are a developer in need of a professional installer I would recommend you to have a look at this product.

Andrew Leigh (http://www.alphalink.com.au/~leigh/components/) for making his excellent color blending progressbar component ALProgressBar available (why reinvent the wheel).

Troels Jakobsen for his Tray Icon component.

I would also like to thank those who have e-mailed me with suggestions for how to improve MemMAX. Even if not all these suggestions will have been implemented for this version many of them are still on my list of things to do.